/**
 * Copyright (c) 2010 - 2018 Allinpay. All rights reserved.
 */
package com.allinpay.springBoot.springboot.dao.pojo;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.allinpay.mcp.commons.utils.json.JsonLongSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import lombok.Data;

/**
 * TODO: 互动营销订单流水Table对象
 *
 * @author tangjun
 * @date 2018-07-22
 */
@Data
@Entity
@Table(name = "T_HD_ORDER_TRANS_INFO")
public class HdOrderTransInfo implements Serializable {

	private static final long serialVersionUID = 1L;

	/** 交易流水号 **/
	@Id
	@JsonSerialize(using = JsonLongSerializer.class)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "order_trans_info_seq")
	@SequenceGenerator(name = "order_trans_info_seq", sequenceName = "T_HD_ORDER_TRANS_INFO_SEQ")
	@Column(name = "TRANS_SEQ")
	private Integer transSeq;

	/** 订单ID **/
	@Column(name = "ORDER_ID")
	private String orderId;

	/** 交易类型(00：创建，01：支付，02：上传明细，03：初审，04：复审，05：确认开票，06：退款) **/
	@Column(name = "TRANS_TYPE")
	private String transType;

	/** 交易金额 **/
	@Column(name = "TRANS_AMT")
	private BigDecimal trandAmt;

	/** 手续费金额 **/
	@Column(name = "FEE_AMT")
	private String feeAmt;

	/** 交易状态(A1:成功 A2:失败 A3:处理中) **/
	@Column(name = "TRANS_STATE")
	private String transState;

	/** 交易日期 **/
	@Column(name = "TRANS_DATE")
	private String transDate;

	/** 交易时间 **/
	@Column(name = "TRANS_TIME")
	private String transTime;

	/** 商户订单号 **/
	@Column(name = "BIZ_ORDER_NO")
	private String bizOrderNo;

	/** 交易结果信息 **/
	@Column(name = "MESSAGE")
	private String message;

	/** 退款去向 1：到账户余额，2：到原支付账户银行卡/微信/支付宝等 **/
	@Column(name = "REFUND_WHEREABOUTS")
	private String refundWhereAbouts;

	/** 电商支付单号 **/
	@Column(name = "PAY_NO")
	private String payNo;

	/** 云商通订单号 **/
	@Column(name = "ORDER_NO")
	private String orderNo;

	/** 代付去向 1：到账户余额，2：到银行卡 **/
	@Column(name = "PAY_WHEREABOUTS")
	private String payWhereAbouts;

	/** 操作人 **/
	@Column(name = "OPER_ID")
	private String operId;

	/** 备注 **/
	@Column(name = "REMARK")
	private String remark;

	/** 证件号码 **/
	@Column(name = "ID_NO")
	private String idNo;

	/** 卡号 **/
	@Column(name = "CARD_NO")
	private String cardNo;

	/** 客户名称 **/
	@Column(name = "CUST_NAME")
	private String custName;

	/** 商户系统编号 */
	@Column(name = "BIZ_USER_ID")
	private String bizUserId;

	/** 收款人账户集编号 */
	@Column(name = "ACCOUNT_SET_NO")
	private String accountSetNo;

}
